#ifndef OUTILPARSAGE_H
#define OUTILPARSAGE_H

#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
#include <string>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;


string IToSTroisChiffres(int n);
string IToS(int i);

bool estUnChiffre(char i);
bool estUneLettre(char i);

char autre(char couleur);

//avance i un caractere apres le symbole recherché.
bool lireChar(int * i, string * ligne, char caractere);

//re'copie ligne dans f de i jusqu'au caractère c, avance i.
void lireChar(int * i, string * ligne, char c, ofstream * f);

//recopie ligne dans s de i jusqu'au caractère c, avance i.
void lireChar(int * i, string * ligne, char c, string * s);

//recopie ligne dans s de i jusqu'à la fin, avance i.
void recopieFin(int * i, string * ligne, string * s);

bool lireMot(int * i, string * ligne, string motRecherche); //parcours la ligne jusqu'au mot recherché.
bool lireMot(int * i, string * ligne, string motRecherche, int depacementMax); //parcours la ligne jusqu'au mot recherché si il se trouve avant déplacement max, sinon remet i à son niveau d'entrée.

//cherche un charactere parmi une liste dans la ligne, avance i au caractere suivant, et renvoi le caractere trouvé.
char lireChar(int * i, string * ligne, char * caractere, int taille);
int lireNombre(int * i, string * ligne);
char nombreToLettre(int i);

void recupererTableau(string source, vector<vector<int> > * retour);

void transformer (string * s, char x, char v); //remplace tout les x par des v dans s.

string  lireMot(int * i, string * ligne, vector <string> motRecherche); //retourne le mot trouvé.


string lireDeuxMots(int * i, string * ligne, vector <string> motRecherche, int tailleMax); //renvoi la ligne entre les deux mots crées. TailleMax indique la distance Max entre les deux mots. 0 pour infini

string lireMot(int * i, string * ligne, string * retour, vector <string> motRecherche); //retourne le mot trouvé. Recopie dans retour la chaine de i au mot trouvé.

bool egal(char a, char b);//gestion des majuscules...

void supprimeCaractere(string * s, char c); //supprime le caractère c dans s.


#endif // OUTIL_PARSAGE

